package main

import "fmt"
import "sync"
import "time"

var a int
var once sync.Once

func setup() {

	a += 1
}
func doprint() {
	//  once 的 Do() 方法可以保证在全局范围内只调用指定的函数一次
	once.Do(setup)
	//	setup()
	fmt.Println(a)
}
func twoprint() {
	go doprint()
	go doprint()
}

func main() {
	twoprint()
	time.Sleep(3e9)
}
